package com.awei.exception;

// 全局异常处理器

import com.awei.domain.Result;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
//它会捕获在控制器方法执行过程中抛出的任何未处理的异常

@RestControllerAdvice//这是 @ControllerAdvice 的一种特殊形式，专门用于全局处理
public class GlobalExceptionHandler {
    @ExceptionHandler(Exception.class)
    public Result handlerException(Exception e){
        //在这个方法中，通过 e.printStackTrace() 输出异常的堆栈信息（在控制台打印）。
        // 然后使用自定义的 Result 类返回错误信息，通常包含错误码和消息，用于向客户端提供统一的错误响应。
        e.printStackTrace();

        return Result.error(e.getMessage());
    }
}
